<?php

/**
 * Trabajo form.
 *
 * @package    zing
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class TrabajoForm extends BaseTrabajoForm
{
  public function configure()
  {
      unset($this['updated_at']);
      unset($this['created_at']);
      unset($this['materiales_list']);
      
      $this->widgetSchema['nombre']->setLabel('Nombre');
      $this->widgetSchema['unidadCuantificacion']->setLabel('Unidad de Cuantificacion');
      $this->widgetSchema['horasHombreUnidad']->setLabel('Horas Hombre unidad');
      $this->widgetSchema['costoUnidad']->setLabel('Costo por Unidad');
      $this->widgetSchema['datosAdicionales']->setLabel('Datos Adicionales');
      $this->widgetSchema['aptitudes_list']->setLabel('Lista de Aptitudes');
      $this->widgetSchema['idCategoria']->setLabel('Categoria');
     // $this->widgetSchema['materiales_list']->setLabel('Lista de Materiales');
      
        $subForm = new sfForm();

        $j = -1;
        
        if(!$this->isNew())
        {
            $listaTrabajoMateriales = $this->getObject()->getTrabajoMateriales();
            foreach ($listaTrabajoMateriales as $TrabajoMaterial)
                {
                    $j++;
                    
                    $form = new TrabajoMaterialForm($TrabajoMaterial);

                    $subForm->embedForm($j, $form);

                }
        }

        $max = 10;

        for ($i = $j + 1; $i < $max; $i++)
         {
           $TrabajoMaterial = new TrabajoMaterial();
           $TrabajoMaterial->Trabajo=$this->getObject();//$this->getObject());
           $form = new TrabajoMaterialForm($TrabajoMaterial);//$pedidoProducto);
           
           $subForm->embedForm($i, $form);
         }

         $this->embedForm('mat_trabajo', $subForm);
      
  }
  
  
    public function doSave($con = null) 
    {
             

        
        $forms = $this->embeddedForms['mat_trabajo']->embeddedForms;

        $listaProductoTrabajos = $this->values['mat_trabajo'];
        foreach($listaProductoTrabajos as $k => $productoTrabajo)
        {
            if(($productoTrabajo['cantidad']=="0") and $forms[$k]->isNew())
            {
                unset($this->embeddedForms['mat_trabajo']->embeddedForms[$k]); 
                unset($this->values['mat_trabajo'][$k]); 
                unset($this->taintedValues['mat_trabajo'][$k]); 
            }    
//            }else
//            {
//                $this->embeddedForms['pedido_prod']->embeddedForms[$k]->getObject()->Pedido=$this->getObject();
//            }
            
        }
        
        parent::doSave($con);

        
        $listaTrabajoMateriales = $this->getObject()->getTrabajoMateriales();
        foreach ($listaTrabajoMateriales as $TrabajoMaterial)
            {
                if($TrabajoMaterial->getCantidad()==0)
                {
                    $TrabajoMaterial->delete();
                }
            }        

    }
        
  
}
